package org.micode.libs.dao.base;

import org.micode.common.domain.base.BaseEntity;
import org.micode.common.domain.base.BaseQuery;

/**
 * 服务类,基本方法
 */
public interface BaseAllService<KT, DTO extends BaseEntity, QY extends BaseQuery>
		extends BaseEditService<KT, DTO, QY> {

	/**
	 * 做删除标记
	 *
	 * @param key
	 * @param currentUserId
	 * @param clientAppName
	 * @param clientIpAddress
	 * @return
	 */
	int updateForDelete(KT key,
						Long currentUserId,
						String clientAppName,
						String clientIpAddress);

	int updateForDeleteByKeys(String keys,
							  Long currentUserId,
							  String clientAppName,
							  String clientIpAddress);
	/**
	 * 删除数据库里面的数据
	 *
	 * @param example
	 * @return
	 */
	int updateForDeleteByExample(DTO example,
								 Long currentUserId,
								 String clientAppName,
								 String clientIpAddress);

}
